package com.neusoft.neuiotms.dcom.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.validator.constraints.Length;

import com.neusoft.bizcore.web.jpa.model.AbstractModel;
import com.neusoft.bizcore.web.jpa.model.Comment;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Entity
@Table(name = "neuiot_month_value_added")
@org.hibernate.annotations.Table(appliesTo = "neuiot_month_value_added", comment = "月报增值服务表")
public class MonthValueAdded extends AbstractModel {

    private static final long serialVersionUID = 1L;

    /** 地点 */
    @Length(max = 255, message = "地点不能超过{max}位")
    @Column(length = 255, nullable = true)
    @Comment("varchar(255) NULL DEFAULT NULL COMMENT '地点'")
    private String location;

    /** 运维工程师 */
    @Length(max = 255, message = "运维工程师不能超过{max}位")
    @Column(length = 255, nullable = true)
    @Comment("varchar(255) NULL DEFAULT NULL COMMENT '运维工程师'")
    private String operationName;

    /** 运维工程师 */
    @Length(max = 255, message = "运维工程师编码不能超过{max}位")
    @Column(length = 255, nullable = true)
    @Comment("varchar(255) NULL DEFAULT NULL COMMENT '运维工程师编码'")
    private String operationCode;

    /** 服务请求人/处室 */
    @Length(max = 255, message = "服务请求人/处室不能超过{max}位")
    @Column(length = 255, nullable = true)
    @Comment("varchar(255) NULL DEFAULT NULL COMMENT '服务请求人/处室'")
    private String requester;

    /** 服务用时(小时) */
    @Comment("double(12,2) NULL COMMENT '服务用时(小时)'")
    private Double serviceTime = 0.0D;

    /** 服务描述 */
    @Lob
    @Column(columnDefinition = "text")
    @Comment("text COMMENT '服务描述'")
    private String serviceDesc;

    /** 完成状态 */
    @Column(length = 1, nullable = false)
    @Comment("int(1) NOT NULL COMMENT '完成状态'")
    private Integer status = 0;

    /** 关联月报 */
    @ManyToOne
    private MonthWeekly month;
}
